April 26
Today, several parties, including IBM and Lotus, have posted a
revised
Simple Object Access Protocol (SOAP) specification (v1.1) to public
Web
sites, including developerWorks. IBM and Lotus are now co-authors of the
specification. Furthermore, IBM has been developing an implementation of
SOAP, and we expect to post an early version to IBM's
alphaWorks later this
week. We thought the developerWorks community would like to know why we
are
joining in the SOAP effort, and why we are now co-authors of the
specification.
What is SOAP?
The SOAP specification defines a simple, Internet-friendly way of
using XML to send messages and to access services. SOAP is important to
e-business because it provides a flexible, natural way of building
applications whose pieces are distributed across networks. With XML and
SOAP, each business can choose its own internal implementation
technology, such as the Enterprise JavaBeans technology, Microsoft
Component Object Model (COM), or traditional languages such as COBOL.
Yet any business can access a service, such as a parts catalog, or send
a purchase order to or from any other business. When you implement
these services, SOAP makes it easy to bind to the programming language
or object system of your choice. SOAP's built-in support for Remote
Procedure Calls (RPC) also makes it easy to invoke methods on remote
objects, using XML and HTTP, so you can use SOAP to create distributed
systems within your own organization too.
SOAP is simple. The specification is short and easy to understand.
Best of
all, it takes only a few lines of Java code or JavaScript code to build
real SOAP
messages that do useful work. Just take a look at the specification if
you want
to get started.
What is new in SOAP v1.1, and why did we become co-authors?
The first versions of SOAP were developed by a team from
DevelopMentor,
Microsoft, and Userland, and were made available to the public last
year. That
early work generated tremendous excitement. At the same time, we at IBM
and
Lotus, along with others in the SOAP community, believed that the
initial
specification could be improved. Working together, we created the v1.1
specification that was posted today.
What's new in 1.1? Better layering and better synergy with other
Internet standards. In addition
to HTTP, SOAP services and RPCs can now be accessed through your choice
of
message transports. For example, bindings could be defined to the IBM
MQSeries or
to electronic mail messages (SMTP). SOAP data representations and
structures
have been aligned with the proposed W3C
XML Schema language, and it is
now possible to apply those encodings in a much broader range of message
patterns (such as streaming, one-way, multicast, and more).
In short, SOAP has been made much more flexible and powerful, without
sacrificing the simplicity that made the first versions so exciting.
How will SOAP evolve?
In addition to being immediately useful, SOAP provides a very simple
but
solid foundation for defining the standards that will support universal
connectivity across businesses and organizations. For e-business to
succeed,
everyone must be able to talk to everyone else. Working with our
partners, we
are offering SOAP as a common, compatible starting point for building
that
infrastructure.
And SOAP is just a starting point. For example, SOAP v1.1 does not
provide security, message routing, or
multicast capabilities that will be needed for robust e-business
communication,
but it does provide ways that such services can be layered on top of the
base
definition. Even without such features, SOAP is already proving
successful as the
basis for many useful applications. By agreeing with others in the
industry to
evolve from a common starting point, we set off together to build
increasingly
robust standards that are truly open and truly interoperable.
IBM and Lotus are pleased to have co-authored this version of SOAP.
We will
continue to participate as the specification evolves, and we expect to
use SOAP
where appropriate to solve our customer's problems.
How can you participate?
We encourage industry participation in the development of SOAP. As
many of
you are aware, standards bodies such as the World Wide Web Consortium
(W3C) have
begun active consideration of messaging technologies such as SOAP.
Indeed, one
reason we released this specification today was to ensure its
availability in
advance of the panel
discussion on messaging to be hosted by the W3C at the WWW9
Conference in
Amsterdam this May. If you're planning to be in Amsterdam, please
join us
May 17 for the panel discussion.
There are mailing lists where the XML messaging community is considering
these
issues or where you can go to discuss
SOAP itself.
Thanks for your interest and for listening -- now it is our turn to
hear from
you. Please download the specification, watch for the alphaWorks
implementation
later this week, and use the mailing lists to let us know what you
think.
Noah Mendelsohn (Lotus Distinguished Engineer) and
Dave Ehnebuske
(IBM
Senior Technical Staff Member),
-- IBM co-authors
of the SOAP v1.1 specification